<style>
#SystemStatusTable{
	width: 100%;
	margin-top: 2vh;
}
#SystemStatusTable td{
	padding: 12px 8px;
	border: 1px dashed #8AF;
}
#UptimeLabel{
	color: #334455;
	margin-top: 12px;
}
.SystemStatusTitleTd{
	width: 140px;
	text-align: center;
}
</style>
</head>

<div class='FrameTable'>
	<table id='SystemStatusTable'></table>
	<div id='UptimeLabel'></div>
</div>

<script>
getVue('SystemStatusTable');

function getDiskString(val){
	tag = '字节';
	if (val > 1024 * 1024 * 1024){
		val /= 1024 * 1024 * 1024;
		tag = 'GB';
	}
	else if (val > 1024 * 1024){
		val /= 1024 * 1024;
		tag = 'MB';
	}
	else if (val > 1024){
		val /= 1024;
		tag = 'KB';
	}

	return val.toFixed(2).toString() + ' ' + tag;
}
function getSystemString(key, val){
	return '<pre>' + key + ': ' + val + '</pre>';
}
function addSystemStatus(key, val, color){
	$('#SystemStatusTable').append("<tr><td class='SystemStatusTitleTd'>" + key + '</td><td>' + val + "</td></tr>");
	
	if (color){
		$('#SystemStatusTable').children().last().css('color', color);
	}
}

function loadSystemStatus(flag){
	if (flag) showToastMessage('正在加载数据...');

	getHttpResult('/SystemInfo', {host: getParameter('host'), port: getParameter('port')}, function(data){
		if (flag) hideToastBox();

		$('#SystemStatusTable').html('');
		if (data.code == XG_TIMEOUT){
			sessionTimeout();
		}
		else if (data.code < 0){
			if (flag) showToast('查询系统信息失败');
		}
		else{
			crate = parseInt(data.percent);
			mrate = parseInt((data.total - data.free) / data.total * 100);
			drate = parseInt((data.disktotal - data.diskfree) / data.disktotal * 100);
			addSystemStatus('	 CPU数量', data.cpu);
			
			if (crate > 60){
				addSystemStatus('   CPU使用率', crate + '%', '#C00');
			}
			else{
				addSystemStatus('   CPU使用率', crate + '%');
			}
			if (mrate > 60){
				addSystemStatus('  内存使用率', mrate + '%', '#C00');
			}
			else{
				addSystemStatus('  内存使用率', mrate + '%');
			}
			if (drate > 60){
				addSystemStatus('  磁盘使用率', drate + '%', '#C00');
			}
			else{
				addSystemStatus('  磁盘使用率', drate + '%');
			}

			addSystemStatus('	内存大小', getDiskString(data.total));
			addSystemStatus('	可用内存', getDiskString(data.free));
			addSystemStatus('	磁盘空间', getDiskString(data.disktotal));
			addSystemStatus('可用磁盘空间', getDiskString(data.diskfree));
			
			$('#UptimeLabel').text('更新时间：' + data.datetime);
		}
	}, true);
}

loadSystemStatus(true);

setSingletonInterval('system_status_timer', 1000, function(){
	loadSystemStatus(false);
});
</script>